<?php

include '../includes/configuracion.php';

//use PDO;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

define("DBHOST", "localhost");
define("DBNAME", "u661954954_at");
define("DBUSER", "u661954954_at");
define("DBPASS", "u661954954");

function conectaDb() {
    $dba = new PDO("mysql:dbname=" . DBNAME . ";host=" . DBHOST, DBUSER, DBPASS);
    $dba->exec("SET CHARACTER SET utf8");
    $dba->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    return $dba;
}

function select($sql, $filtro = "") {
    $statement = $sql . " where 1=1";

    if (strlen($filtro) > 0) {
        $statement = $statement . " and " . $filtro;
    }

    //print("<br>" . $statement);
    $db = conectaDb();
    //print $statement;
    $resul = $db->query($statement);
    $rows = $resul->fetchAll(PDO::FETCH_ASSOC);
    $resul->closeCursor();
    //print_r($rows);
    $db = null;
    return $rows;
}

function select2($sql) {
    $statement = $sql;

    //print("<br>" . $statement);
    $db = conectaDb();
    $resul = $db->query($statement);
    $rows = $resul->fetchAll(PDO::FETCH_ASSOC);
    $resul->closeCursor();
    //print_r($rows);
    $db = null;
    return $rows;
}

function serieToHTML($objeto, $array, $key = 'id') {
    //print_r($array);

    /*
      create or replace view vresultado
      as
      select r.id as id, a.id as idatleta, a.nombre as nombre, a.apellido1 as apellido1,
      a.apellido2 as apellido2, r.marcatxt as marcatxt, r.puesto as puesto,r.idserie as idserie
      from resultado r, atleta a
      where r.idatleta = a.id;
     * 
     * CREATE OR REPLACE VIEW vresultado2 AS
      SELECT r.id AS id, a.id AS idatleta, a.nombre AS nombre, a.apellido1 AS apellido1, a.apellido2 AS apellido2, c.nombre AS club, r.marcatxt AS marcatxt, r.puesto AS puesto, r.idserie AS idserie
      FROM resultado r, atleta a, ratletatemporadaclub atc, club c
      WHERE r.idatleta = a.id
      AND a.id = atc.idatleta
      AND c.id = atc.idclub
      ORDER BY idserie, r.puesto
     */

    if (count($array) > 0) {
        foreach ($array as $fila) {

            print "<table border=1>";
            print "<tr>";
            print "<th>" . $fila['nombre'] . "</th>";
            print "<th colspan=4>";
            print "<form name='altaResultado' action='altaResultado.php'>";
            print "<input type='hidden' name='id' value=''/>";
            print "<input type='hidden' name='idserie' value='" . $fila['id'] . "'/>";
            print "<input type='submit' value='Nuevo'/>";
            print "</form>";
            print "</th>";
            print "</tr>";
            print "<tr>" .
                    "<th></th>" .
                    "<th>Puesto</th>" .
                    "<th>Nombre</th>" .
                    "<th>Club</th>" .
                    "<th>Marca</th>";
            print "</tr>";
            $resultado = select2('select * from vresultado2 where idserie=' . $fila['id']);
            //print_r($resultado);
            foreach ($resultado as $r) {
                print "<tr>";
                print "<td></td>";
                print "<td>" . $r['puesto'] . "</td>";
                print "<td>" . $r['nombre'] . " " . $r['apellido1'] . " " . $r['apellido2'] . "</td>";
                print "<td>" . $r['club'] . "</td>";
                print "<td>" . $r['marcatxt'] . "</td>";
                print "</tr>";
            }
        }

        print "</table>";
    } else {
        print "No hay registros";
    }
}

function toHTMLSearch($objeto, $array, $key = 'id') {
    //print_r($array);
    print "<table border=1>";
    print "<tr>";

    if (count($array) > 0) {


        foreach ($array[0] as $columna => $valor) {
            print "<th>" . $columna . "</th>";
        }
        print "<th colspan=3></th>";
        print "</tr>";

        foreach ($array as $fila) {
            $uid = null;
            foreach ($fila as $columna => $valor) {
                if ($columna == $key) {
                    $uid = $valor;
                }
                print "<td>" . $valor . "</td>";
            }
            print "<td><a href=# onclick='elegir(\"". $objeto . "\",$uid);'>Elegir</a></td>";
            print "</tr>";
        }

        print "</table>";
    } else {
        print "No hay registros";
    }
}

function toHTML($objeto, $array, $key = 'id') {
    //print_r($array);
    $base = '../comun';
    print "<table border=1>";
    print "<tr>";

    if (count($array) > 0) {


        foreach ($array[0] as $columna => $valor) {
            print "<th>" . $columna . "</th>";
        }
        print "<th colspan=3></th>";
        print "</tr>";

        foreach ($array as $fila) {
            $uid = null;
            foreach ($fila as $columna => $valor) {
                if ($columna == $key) {
                    $uid = $valor;
                }
                print "<td>" . $valor . "</td>";
            }
            print "<td><a href=ver" . $objeto . ".php?" . $key . "=" . "$uid" . ">Ver</a></td>";
            print "<td><a href=" . $base . "/editObjetoForm.php?nombreObjeto=" . $objeto . "&" . $key . "=" . "$uid" . ">Editar</a></td>";
            print "<td><a href=" . $base . "/borrarObjeto.php?nombreObjeto=" . $objeto . "&" . $key . "=" . "$uid" . ">Borrar</a></td>";
            print "</tr>";
        }

        print "</table>";
    } else {
        print "No hay registros";
    }
}

function HTMLadd2($objeto, $nombreObjeto, $tablas) {
    print "<form name='add" . $nombreObjeto . "' action=../comun/addObjetoForm.php method=post>";

    print "<input type='hidden' name='nombreObjeto' value='" . $nombreObjeto . "'>";

    if (array_key_exists($nombreObjeto, $tablas['fkinfo'])) {
        //print_r($tablas['fkinfo'][$nombreObjeto]); 
        $fkinfo = $tablas['fkinfo'][$nombreObjeto];
        //print_r($fkinfo);
        $campolink = $fkinfo['lkField'];
        //print_r($objeto);
        if (sizeof($objeto) > 0)
            print "<input type='hidden' value='" . $objeto[0][$campolink] . "' name='" . $campolink . "'>";
    }
    print "<input type='submit' value='Crear " . $nombreObjeto . "'>";
    print "</form>";
}

function HTMLadd($nombreObjeto, $valoresFK = null) {
    print "<form name='add" . $nombreObjeto . "' action=addObjetoForm.php method=post>";

    print "<input type='hidden' name='nombreObjeto' value='" . $nombreObjeto . "'>";

    if ($valoresFK != null) {
        foreach ($valoresFK as $key => $val) {
            print "<input type='hidden' value='" . $val . "' name='" . $key . "'>";
        }
    }
    print "<input type='submit' value='Nueva " . $nombreObjeto . "'>";
    print "</form>";
}

function getAttributeNames($sql) {
    $db = conectaDb();
    $resul = $db->query($sql);
    $fila = Array();
    for ($i = 0; $i < $resul->columnCount(); $i++) {       
        //$fila[$i] = $resul->getColumnMeta($i)['name'];
        $fila[$i] = $resul->getColumnMeta($i);
    }
    return $fila;
}

function HTMLFormTablaAdd($nombreObjeto, $estado, $tablas) {
    print "<table><tr><th colspan=2>" . $nombreObjeto . "</th></tr>";
    $atributos = getAttributeNames("select * from " . $nombreObjeto);

    //print_r($atributos);

    print "<form name='add" . $nombreObjeto . "Form' action='doAddObjeto.php' method='post'>";
    print "<input type='hidden' name='nombreObjeto' value='" . $nombreObjeto . "'>";


//    print_r ($tablas['fkinfo'][$nombreObjeto]);
    $lkField = '';
    $fkTable = '';
    $fkField = '';
    if (array_key_exists($nombreObjeto, $tablas['fkinfo'])) {
        $fkTable = $tablas['fkinfo'][$nombreObjeto]['fkTable'];
        $fkField = $tablas['fkinfo'][$nombreObjeto]['fkField'];
        $lkField = $tablas['fkinfo'][$nombreObjeto]['lkField'];


        //print " " .$fkTable . " " . $fkField . " " . $lkField;
        //print_r($estado);
        $fkValue = $estado[$fkTable][0][$fkField];

        print "<input type='hidden' name='" . $lkField . "' value='" . $fkValue . "'>";
    }
    //print_r($arrayvalores);
    //foreach ($arrayvalores as $key => $val) {
    //    print "<input type='hidden' name='" . $key . "' value='" . $val . "'>";
    //}

    foreach ($atributos as $at) {
        //print "<br>" . $lkfield;
        if ((isset($lkField) && ($at === $lkField))) {
            continue;
        }

        //if ($at == 'id') {
        //    continue;
        //}
        //print $nombreObjeto;
        //print_r($tablas[$nombreObjeto]);
        if ($tablas[$nombreObjeto][$at]['tipo'] == 'key') {
            continue;
        }

        print "<tr>";
        if ($tablas[$nombreObjeto][$at]['tipo'] == 'hidden') {
            $str = '';
        } else {
            $str = $at;
        }

        print "<td>" . $str . "</td>";


        if (isset($tablas[$nombreObjeto][$at]['fkinfo'])) {

            if ($tablas[$nombreObjeto][$at]['edit'] === 'select') {
                //print_r($obj);
                //print($obj[0][$nombreCampo]);
                $str = getSelectHTML($tablas[$nombreObjeto][$at]['fkinfo']['tablaR'], $tablas[$nombreObjeto][$at]['fkinfo']['campoR'], $tablas[$nombreObjeto][$at]['fkinfo']['campoShow'], $at, null);
            }
        } else {
            $str = "<input type='" . $tablas[$nombreObjeto][$at]['tipo'] . "' name='" . $at . "' value=''/>";
        }

        print "<td>" . $str . "</td>";
        print "</tr>";
    }

    print "<tr><td colspan=2>" . "<input type='submit' value='Aceptar'>" . "<td></tr>";
    print "</form>";
    print "</table>";
}

function HTMLFormTablaAction($objeto, $tabla, $action, $arrayvalores = null) {
    print "<table><tr><th colspan=2>" . $objeto . "</th></tr>";
    $atributos = getAttributeNames("select * from " . $objeto);

    //print_r($atributos);

    print "<form name='add" . $objeto . "Form' action='" . $action . "' method='post' id='add" . $objeto . "Form'>";
    print "<input type='hidden' name='nombreObjeto' value='" . $objeto . "'>";

    //print_r($arrayvalores);
    foreach ($arrayvalores as $key => $val) {
        print "<input type='hidden' name='" . $key . "' value='" . $val . "'>";
    }

    
    foreach ($atributos as $at) {
        $atname=$at['name'];
        if ((array_key_exists($atname,$arrayvalores))&&(isset($arrayvalores[$atname])))
            continue;

        if ($tabla[$atname]['tipo'] == 'key') {
            continue;
        }

        print "<tr>";
        if ($tabla[$atname]['tipo'] == 'hidden') {
            $str = '';
        } else {
            $str = $atname;
        }



        print "<td>" . $str . "</td>";

        if (isset($tabla[$atname]['fkinfo'])) {
            if ($tabla[$atname]['edit'] === 'select') {
                //print_r($obj);
                //print($obj[0][$nombreCampo]);
                $str = getSelectHTML($tabla[$atname]['fkinfo']['tablaR'], $tabla[$atname]['fkinfo']['campoR'], $tabla[$at]['fkinfo']['campoShow'], $at, null);
            } else if ($tabla[$atname]['edit'] === 'search') {
                $str = "<input type='text' name='" . $atname . "' value=''/ onchange='alert(\"hola\")'>" .
                        "<input type='button' value='...' onclick='popup(\"search" . $tabla[$atname]['fkinfo']['tablaR'] . ".php\");'>";
                //"<input type='button' value='...' onclick='alert(\"hola\");'/>";
            }
        } else {
            $str = "<input type='" . $tabla[$atname]['tipo'] . "' name='" . $atname . "' value=''/>";
        }

        print "<td>" . $str . "</td>";
        print "</tr>";
    }

    print "<tr><td colspan=2>" . "<input type='submit' value='Aceptar'>" . "<td></tr>";
    print "</form>";
    print "</table>";
}

function HTMLFormTabla($objeto, $tabla, $arrayvalores = null) {
    print "<table><tr><th colspan=2>" . $objeto . "</th></tr>";
    $atributos = getAttributeNames("select * from " . $objeto);

    //print_r($atributos);

    print "<form name='add" . $objeto . "Form' action='doAddObjeto.php' method='post'>";
    print "<input type='hidden' name='nombreObjeto' value='" . $objeto . "'>";

    print_r($arrayvalores);
    foreach ($arrayvalores as $key => $val) {
        print "<input type='hidden' name='" . $key . "' value='" . $val . "'>";
    }

    foreach ($atributos as $at) {
        if (isset($arrayvalores[$at]))
            continue;
        print "<tr>";
        if ($at == 'id') {
            continue;
        }
        if ($tabla[$at]['tipo'] == 'hidden') {
            print "<td></td>";
        } else {
            print "<td>" . $at . "</td>";
        }

        print "<td>" . "<input type='" . $tabla[$at]['tipo'] . "' name='" . $at . "'/>" . "</td>";
        print "</tr>";
    }

    print "<tr><td colspan=2>" . "<input type='submit' value='Aceptar'>" . "<td></tr>";
    print "</form>";
    print "</table>";
}

function getSelectHTML($tablaLookup, $campoLookup, $campoShow, $idCampo, $valorCampo, $nulo = 0) {
    //print($tablaLookup . "<br>");
    //print($campoLookup . "<br>");
    //print($campoShow . "<br>");
    //print($idCampo);
    //print($valorCampo);
    $sql = "select * from " . $tablaLookup;

    $datos = select($sql);
    //print_r($datos);
    $str = "<select name='" . $idCampo . "'>";

    if ($nulo != 0) {
        $str .= "<option value='" . $nulo[0] . "'>" . $nulo[1] . "</option>";
    }

    foreach ($datos as $fila) {

        $selected = "";
        if ($fila[$campoLookup] === $valorCampo) {
            $selected = "selected";
        }
        //    print_r($fila);
        $str .= "<option value='" . $fila[$campoLookup] . "' " . $selected . ">" . $fila[$campoShow] . "</option>";
    }
    $str.="</select>";
    //print $str;

    return $str;
}

function HTMLFormTablaEdit($objeto, $id, $campos) {
    $obj = select("select * from " . $objeto, "id=" . $id);

    //print_r($obj);
    print "<table><tr><th colspan=2>" . $objeto . "</th></tr>";
    $atributos = getAttributeNames("select * from " . $objeto);

    //print_r($atributos);

    print "<form name='update" . $objeto . "Form' action='doUpdateObjeto.php' method='post'>";
    print "<input type='hidden' name='nombreObjeto' value='" . $objeto . "'>";

    //print_r($campos);

    foreach ($campos as $nombreCampo => $datosCampo) {
        //print_r($campo);
        //print_r($valores);
        print "<tr>";
        if ($datosCampo['tipo'] == 'hidden') {
            print "<td></td>";
        } else {
            print "<td>" . $nombreCampo . "</td>";
        }

        //print_r($datosCampo);

        if (isset($datosCampo['fkinfo'])) {
            if ($datosCampo['edit'] === 'select')
            //print_r($obj);
            //print($obj[0][$nombreCampo]);
                $str = getSelectHTML($datosCampo['fkinfo']['tablaR'], $datosCampo['fkinfo']['campoR'], $datosCampo['fkinfo']['campoShow'], $nombreCampo, $obj[0][$nombreCampo]);
        }
        else {
            $str = "<input type='" . $datosCampo['tipo'] . "' name='" . $nombreCampo . "' value='" . $obj[0][$nombreCampo] . "'/>";
        }

        print "<td>" . $str . "</td>";
        print "</tr>";
    }

    print "<tr><td colspan=2>" . "<input type='submit' value='Aceptar'>" . "<td></tr>";
    print "</form>";
    print "</table>";
}

function crearObjeto($objeto, $valores) {
    $sql = "insert into " . $objeto;
    $campos = "";
    $vals = "";
    $parametros = array();
    foreach ($valores as $campo => $valor) {
        if (strlen($campos) != 0) {
            $campos .= ',';
            $vals .= ',';
        }
        $delimiter = "";
        $campos .= $campo;
        $vals .= ":" . $campo;
        $parametros[":" . $campo] = $valor;
    }

    $sql = "insert into " . $objeto . " (" . $campos . ") values (" . $vals . ")";

    print($sql);
    print_r($valores);
    print_r($parametros);

    $db = conectaDb();
    $sentencia = $db->prepare($sql);
    $sentencia->execute($parametros);
    $id = $db->lastInsertId();
    $sentencia->closeCursor();
    $db = null;
    return $id;
}

function borrarObjeto($objeto, $id) {
    $sql = "delete from " . $objeto . " where id=" . $id;

    //print $sql;
    $db = conectaDb();
    $db->exec($sql);
    return $id;
}

function crearEnlace($tabla, $valores) {
    $sql = "insert into " . $tabla;
    $campos = "";
    $vals = "";
    $parametros = array();
    foreach ($valores as $campo => $valor) {
        if (strlen($campos) != 0) {
            $campos .= ',';
            $vals .= ',';
        }
        $delimiter = "";
        $campos .= $campo;
        $vals .= ":" . $campo;
        $parametros[":" . $campo] = $valor;
    }

    $sql = "insert into " . $tabla . " (" . $campos . ") values (" . $vals . ")";

    print("<br>sql=" . $sql);
    print_r($valores);
    print_r($parametros);

    $db = conectaDb();
    $sentencia = $db->prepare($sql);
    foreach ($parametros as $campo => $valor) {
        print "<br>Enlazando " . $campo . " con valor " . $valor;
        $sentencia->bindValue($campo, $valor, PDO::PARAM_INT);
    }

    $sentencia->execute();
    $id = $db->lastInsertId();
    $sentencia->closeCursor();
    $db = null;
    return $id;
}

function copiarAtletas($ant, $act) {
    $sql = "SELECT * FROM ratletatemporadaclub ra, atleta at WHERE ra.idtemporada=" . $ant . " and ra.idatleta=at.id";

    $datos = select2($sql);
    foreach ($datos as $fila) {
        //$atleta = select2("select * from atleta where id=" . $fila['idatleta']);
        //print_r ($fila);
        //print_r ($fila);
        $categoria = calcularCategoria($act, $fila['fechanacimiento'], $fila['idgenero']);
        //print_r($categoria);
        $sqlinsert = 'insert into ratletatemporadaclub (idtemporada, idatleta, idclub, idcategoria) values (' . $act . "," . $fila['idatleta'] . "," . $fila['idclub'] . "," . $categoria['id'] . ")";
        print $sqlinsert . "<br>";
        $db = conectaDb();
        //$sentencia = $db->prepare($sql)
        //print($sql);

        $stmt = $db->prepare($sqlinsert);
        $stmt->execute();
    }
}

function calcularCategoria($temporada, $fecha, $genero) {

    //print "Caculando categoria con t=" . $temporada . " f=" . $fecha . " g=" . $genero . "<br>";
    $sql = "select * from categoria where idtemporada=" . $temporada . " and :fecha between fechainicio and fechafinal and idgenero= :idgenero";
    $db = conectaDb();
    //$sentencia = $db->prepare($sql)
    //print($sql);

    $stmt = $db->prepare($sql);
    $stmt->bindValue(':fecha', $fecha);
    $stmt->bindValue(':idgenero', $genero);
    $stmt->execute();
    $resul = $stmt->fetch();

    $db = null;
    //print "<br>" . print_r($resul) . "<br>";
    return $resul;
}

function actualizarEstado(&$session, $objeto, $nombreObjeto, $tablas) {
    //print 'antes de actualizar [' . $nombreObjeto . ']';
    //print_r($session['estado']);
    $session['estado'][$nombreObjeto] = $objeto;

    if (array_key_exists($nombreObjeto, $tablas['hijaDe'])) {

        foreach ($tablas['hijaDe'][$nombreObjeto] as $key => $tabla) {
            if (array_key_exists($tabla, $session['estado'])) {
                //print " Eliminando datos de estado de " . $tabla;
                unset($session['estado'][$tabla]);
            }
        }
    }
    //print_r($session);
}

function parseMarca($marca, $tipo) {
    //$marca -> string. Cadena con la marca
    //$tipo -> Tipo de prueba, 1=si es una carrera o <>1 un concurso

    if ($tipo == 1) {
        //parseo de marca de una carrera (segundos)
        $segundos = 0.0;
        $cadena = explode(":", $marca, 2);
        if (sizeof($cadena) == 3) {
            $segundos = $segundos + ($cadena[0] * 3600) + ($cadena[1] * 60) + $cadena[2];
        }
        if (sizeof($cadena) == 2) {
            $segundos = $segundos + ($cadena[0] * 60) + $cadena[1];
        }
        if (sizeof($cadena) == 1) {
            $segundos = $segundos + $cadena[0];
        }


        //print "(" . $segundos . ")";
        return $segundos;
        //print_r ($cadena);
    } else {
        //parseo de una medida (metros)
        $metros_hasta_100 = 100.0 - $marca;
        return $metros_hasta_100;
    }
}

function resultadosAtletaHTML($idAtleta) {
    $sql = "select re.idserie as idserie,re.idatleta as idatleta, re.puesto, re.marcatxt, re.marca,
       se.nombre as serie, at.nombre, at.apellido1, at.apellido2, at.fechanacimiento, ge.nombre as genero,
       cl.id as idclub, cl.nombre as club, ca.id as idcategoria, ca.nombre as categoria,
       catalogo.nombre as nombreprueba, catalogo.idtipo as tipoprueba, jo.nombre as jornada, jo.fecha as fechajornada
from resultado re, serie se, atleta at,ratletatemporadaclub ratc, club cl,
     categoria ca,
 	 rpruebajornada rpj,
     catprueba catalogo,
     tipoprueba tp,
     jornada jo,
     competicion co,
     temporada te,
     genero ge
where re.idserie=se.id
  and re.idatleta=at.id
  and at.idgenero=ge.id
  and ratc.idatleta = at.id
  and ratc.idclub=cl.id
  and ratc.idcategoria=ca.id
  and se.idpruebajornada = rpj.id
  and rpj.idprueba=catalogo.id
  and rpj.idcategoria=ca.id
  and rpj.idprueba=catalogo.id
  and tp.id=catalogo.idtipo
  and rpj.idjornada=jo.id
  and jo.idcompeticion=co.id
  and co.idtemporada = te.id
  and ca.idtemporada=te.id
  and at.id=" . $idAtleta;

    $sql .= " order by rpj.idprueba";


    $campos = array('fechajornada', 'jornada', 'marcatxt', 'serie', 'puesto');

    //print $sql;
    $filas = select2($sql);

    $nombre = $filas[0]['nombre'] . " " . $filas[0]['apellido1'] . " " . $filas[0]['apellido2'];

    $html[] = "<br><h2>" . $nombre . "</h2><br>";

    $pruebaant = "";
    $categoriaant = "";
    $html[] = "<table border=1>";
    foreach ($filas as $fila) {
        $prueba = $fila['nombreprueba'];
        $categoria = $fila['categoria'];

        if ($categoria != $categoriaant) {
            $html[] = "<tr><td colspan=5>" . $categoria . "</td></tr>";
        }

        if ($prueba != $pruebaant) {
            $html[] = "<tr><td colspan=5></td></tr>";
            $html[] = "<tr><th colspan=5>" . $prueba . "</th></tr>";
            $pruebaant = $prueba;
        }


        if ($categoria != $categoriaant) {
            //      print "<tr><td colspan=2>" . $prueba . "</td><td colspan=4>" . $categoria . "</td></tr>";
            $html[] = "<tr>";
            //foreach ($filas[0] as $columna => $valor) {
            //    print "<th>" . $columna . "</th>";
            //}
            foreach ($campos as $campo) {
                $html[] = "<th>" . $campo . "</th>";
            }
            $html[] = "</tr>";
            $categoriaant = $categoria;
        }


        $html[] = "<tr>";
        //foreach ($fila as $key => $valor) {
        //    print "<td>" . $valor . "</td>";
        //}
        foreach ($campos as $campo) {
            $html[] = "<td>" . $fila[$campo] . "</td>";
        }

        $html[] = "</tr>";
    }
    $html[] = "</table>";

    //print_r($html);
    return $html;
}

function resumenAtleta($idAtleta) {


    $sql = "select re.idserie as idserie,re.idatleta as idatleta, re.puesto, re.marcatxt, re.marca,
       se.nombre as serie, at.nombre, at.apellido1, at.apellido2, at.fechanacimiento, ge.nombre as genero,
       cl.id as idclub, cl.nombre as club, ca.id as idcategoria, ca.nombre as categoria,
       catalogo.nombre as nombreprueba, catalogo.idtipo as tipoprueba, jo.nombre as jornada, jo.fecha as fechajornada, 
       te.nombre as temporada, te.fechafin fintemporada
from resultado re, serie se, atleta at,ratletatemporadaclub ratc, club cl,
     categoria ca,
     rpruebajornada rpj,
     catprueba catalogo,
     tipoprueba tp,
     jornada jo,
     competicion co,
     temporada te,
     genero ge
where re.idserie=se.id
  and re.idatleta=at.id
  and at.idgenero=ge.id
  and ratc.idatleta = at.id
  and ratc.idclub=cl.id
  and ratc.idcategoria=ca.id
  and se.idpruebajornada = rpj.id
  and rpj.idprueba=catalogo.id
  and rpj.idcategoria=ca.id
  and rpj.idprueba=catalogo.id
  and tp.id=catalogo.idtipo
  and rpj.idjornada=jo.id
  and jo.idcompeticion=co.id
  and co.idtemporada = te.id
  and ca.idtemporada=te.id
  and at.id=" . $idAtleta;

    $sql .= " order by rpj.idprueba, te.fechafin desc, re.marca asc";


    $campos = array('fechajornada', 'jornada', 'marcatxt', 'serie', 'puesto');

    $tabla = array();
    $temporadas = array();
    //print $sql;
    $filas = select2($sql);

    $nombre = $filas[0]['nombre'] . " " . $filas[0]['apellido1'] . " " . $filas[0]['apellido2'];

    $html[] = "<h1> Mejores Marcas de: </h1>";
    $html[] =  "<h2>" . $nombre . "</h2><br>";

    $pruebaant = "";
    $temporadaant = "";
    foreach ($filas as $fila) {
        $prueba = $fila['nombreprueba'];
        $temporada = $fila['temporada'];

        if ($prueba == $pruebaant) {
            if ($temporada == $temporadaant) {
                continue;
            } else {
                $tabla[$prueba][$temporada] = $fila['marcatxt'];
                $temporadas[] = $temporada;
                $temporadaant = $temporada;
            }
        } else {
            $tabla[$prueba][$temporada] = $fila['marcatxt'];
            $pruebaant = $prueba;
        }
    }

    //print_r($tabla);
    //print_r($temporadas);

    $html[] = "<table border=1>";
    $html[] = "<tr>";
    $html[] = "<th>Prueba</th>";
    foreach ($temporadas as $t => $nombre) {
        $html[] = "<th>" . $nombre . "</th>";
    }
    $html[] = "</tr>";

    foreach ($tabla as $pru => $val) {
        $html[] = "<tr>";
        $html[] = "<td>" . $pru . "</td>";
        foreach ($temporadas as $te) {
            $html[] = "<td>" . $val[$te] . "</td>";
        }

        $html[] = "</tr>";
    }

    $html[] = "</table>";
    
    return $html;
}




function crearUsuario($us, $rol) {
    $sql = "insert into usuario (login,password,nombre,apellidos,email) values (:login,:password,:nombre,:apellidos,:email)";
    $parametros[':login']= $us['login'];
    $parametros[':password']= $us['password'];
    $parametros[':nombre']= $us['nombre'];
    $parametros[':apellidos']= $us['apellidos'];
    $parametros[':email']= $us['email'];
    
    $db = conectaDb();
    $sentencia = $db->prepare($sql);
    $sentencia->execute($parametros);
    $id = $db->lastInsertId();
    $sql = "insert into rol_usuario (idusuario,rol) values ('" . $id . "','" . $rol . "')";    
    $db->exec($sql);
    $sentencia->closeCursor();
    $db = null;
    return $id;
}

function addRol($us, $rol) {
    $sql = "insert into rol_usuario (idusuario,rol) values (".$us . ",'" . $rol . "')";
  
    $db = conectaDb();
    $db->exec($sql);
    $db = null;
}

function delRol($us, $rol) {
    $sql = "delete from rol_usuario where idusuario= ".$us . " and rol='" . $rol . "'";
  //print $sql;
    $db = conectaDb();
    $db->exec($sql);
    $db = null;
}



?>

